﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Tibet.Entidades;
using Tibet.Logica;
using Tibet.GUI.Presentador;
using Tibet.GUI.Contrato;

namespace Tibet.GUI.Vista
{
    public partial class CrearPerfilMetricas : System.Web.UI.Page, IContratoCrearPerfilMetrica
    {
        
        private PresentadorCrearPerfilMetrica _presentadorCrearPerfilMetricas;
        
        private List< Entidad > _listaMetricas;

        private List<CheckBox> _listaCheck;    




        public Label MensajeError
        {
            get { return mensajeError; }           
        }


        public String NombrePerfilMetrica
        {
            get { return nombrePerfilMetrica.Text; }
        }

        public List<Entidad> Lista
        {

            get { return _listaMetricas; }
            set { _listaMetricas = value; }
        }

        public List<CheckBox> ListaCheck
        {

            get { return _listaCheck; }
            set { _listaCheck = value; }
        }
        
        


        protected void Page_Load(object sender, EventArgs e)
        {

            _presentadorCrearPerfilMetricas = new PresentadorCrearPerfilMetrica(this);
            _presentadorCrearPerfilMetricas.BuscarTodosMetrica();


        }





        public void PintarCheckBox(List< Entidad > listaM)
        {

            Lista = listaM;

            List<CheckBox> checkBox = new List<CheckBox>();

           

            foreach ( Metrica miMetrica in listaM )
            {


                CheckBox check = new CheckBox();             
                check.Width = 400;
                check.Height = 50;
                check.ID = "checkbox" + miMetrica.NombreMetrica;
                check.Text = miMetrica.NombreMetrica;
                checkBox.Add(check);
                panel2.Controls.Add(check);
                
                
            }

            ListaCheck = checkBox;

        }



        
        public void MostrarMensaje(String script)
        {
                          
                this.RegisterStartupScript("alerta", script);          

        }




        public Entidad CastearLista()
        {

            PerfilMetrica perfilM = new PerfilMetrica();
           

            perfilM.NombrePerfilMetrica = this.NombrePerfilMetrica;

            foreach (Metrica miMetrica in Lista)
            {
                foreach (CheckBox check in ListaCheck)
                {

                    if (check.ID.Equals("checkbox" + miMetrica.NombreMetrica))
                        if (check.Checked)
                            perfilM.MisMetricas.Add(miMetrica);


                }
            }





            return perfilM as Entidad;


        }

        protected void BotonCrear_OnClick(object sender, EventArgs e)
        {
         
                
            _presentadorCrearPerfilMetricas.CrearPerfilMetrica();

        }

       
    }
}